<?php

namespace Shared\Main\LRC;

use Shared\LRC\Annotations as LRC;
use Shared\LocalSyntaxSpecific\Annotations as LSS;
use Doctrine\ORM\Mapping as ORM;
use Shared\EventListener\AuditableInterface;

/**
 * @package LabelLRC
 * @version 1.0.0.0
 * @author J.Minchev
 * @internal 
 * @todo
 * 
 * @ORM\Entity
 * @ORM\Table(name="pages_lrc")
 * @LRC\Translation
 */
class Page implements AuditableInterface, \Shared\LocalSyntaxSpecific\Entity\LocalSyntaxSpecificI {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     */
    private $id;

    /**
     * @ORM\Column
     */
    private $title;

    /**
     * @ORM\Column
     */
    private $content;

    /**
     * @ORM\Column
     */
    private $slug;

    /**
     * @LRC\Object
     * @ORM\ManyToOne(targetEntity="Shared\Main\Page", inversedBy="translations")
     * @ORM\JoinColumn(name="objectId", referencedColumnName="id")
     */
    private $Object;

    /**
     * @LRC\Language
     * @ORM\ManyToOne(targetEntity="Shared\Main\Language")
     * @ORM\JoinColumn(name="languageId", referencedColumnName="id")
     */
    private $Language;

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

    public function getTitle() {
        return $this->title;
    }

    public function getContent() {
        return $this->content;
    }

    public function setTitle($title) {
        $this->title = $title;
    }

    public function setContent($content) {
        $this->content = $content;
    }

    public function getObject() {
        return $this->Object;
    }

    public function setObject($Object) {
        $this->Object = $Object;
    }

    public function getLanguage() {
        return $this->Language;
    }

    public function setLanguage($Language) {
        $this->Language = $Language;
    }

    public function getSlug() {
        return $this->slug;
    }

    public function setSlug($slug) {
        $this->slug = $slug;
    }

}
